package com.castle.fortress.admin.pay.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.castle.fortress.admin.pay.dto.PaySceneDto;
import com.castle.fortress.admin.pay.entity.PaySceneEntity;
import com.castle.fortress.common.entity.RespBody;

import java.util.List;

/**
 * 支付场景表 服务类
 *
 * @author castle
 * @since 2022-07-07
 */
public interface PaySceneService extends IService<PaySceneEntity> {

    /**
     * 分页展示支付场景表列表
     * @param page
     * @param paySceneDto
     * @return
     */
    IPage<PaySceneDto> pagePayScene(Page<PaySceneDto> page, PaySceneDto paySceneDto);


    /**
     * 展示支付场景表列表
     * @param paySceneDto
     * @return
     */
    List<PaySceneDto> listPayScene(PaySceneDto paySceneDto);

    /**
     * 检查字段是否重复
     * @param dto
     * @return
     */
    RespBody checkColumnRepeat(PaySceneDto dto);

    /**
     * 异步批量保存场景的配置信息
     * @param paySceneEntity
     */
    void asynSaveConfig(PaySceneEntity paySceneEntity);

    /**
     * 异步批量删除场景的配置信息
     * @param paySceneEntity
     */
    void asynDelConfig(PaySceneEntity paySceneEntity);
}
